using System;
using System.Collections.Generic;
using System.Threading;
namespace Shared.SimpleControl.Phone
{
public class UserDeviceToCurtains : FrameLayout
{
///
/// 当前界面
///
static UserDeviceToCurtains curView;
VerticalScrolViewLayout equipmentListScrolView;
public static void UpdateBrighingCount ()
{
#region 更新用户主界面窗帘点亮总数
int brighingCount = 0;
foreach (var room in Room.Lists) {
if (room == null || string.IsNullOrEmpty (room.Name)) {
continue;
}
foreach (var light in room.DeviceList) {
if (light.Type == DeviceType.CurtainModel) {
if ((light as CurtainModel).Status == CurtainStatus.Open)
brighingCount++;
} else if (light.Type == DeviceType.CurtainRoller) {
if ((light as CurtainRoller).CurtainProress >0)
brighingCount++;
} else if (light.Type == DeviceType.CurtainTrietex) {
if ((light as CurtainTrietex).CurtainProress > 0)
brighingCount++;
}
}
}
if (UserDeviceView.CurtainCount != brighingCount) {
Console.WriteLine ($"UserDeviceView.CurtainCount : { UserDeviceView.CurtainCount}");
UserDeviceView.UpdataDeviceCountNumber (brighingCount, R.MyInternationalizationString.Curtain);
}
#endregion
}
static System.Threading.Thread thread;
///
/// 读取设备状态
///
public static void readAllStatus (bool isRead = false)
{
List list = new List ();
foreach (Room room in Room.Lists) {
if (room == null) {
continue;
}
list.AddRange(room.DeviceList.FindAll ((obj) => {
return (obj.Type == DeviceType.CurtainModel || obj.Type == DeviceType.CurtainRoller || obj.Type == DeviceType.CurtainTrietex);
}));
}
if (isRead) {
foreach (Common common in list) {
common.LastUpdateTime = DateTime.MinValue;
}
}
if (thread != null) {
thread.Abort ();
}
thread = new Thread (() => {
try {
List readList = new List ();
foreach (Common common in list) {
var s = common.Type + "_" + common.SubnetID + "_" + common.DeviceID;
//已经读取过当前设备就不再读取
if (readList.Contains (s)) {
continue;
}
readList.Add (s);
Thread.Sleep (500);
if (common.Type == DeviceType.CurtainModel) {
Control.ControlBytesSend (Command.ReadCurtainStatus, common.SubnetID, common.DeviceID, new byte [] { common.LoopID });
} else {
Control.ControlBytesSend (Command.ReadCurtainStatus, common.SubnetID, common.DeviceID, new byte [] { 17 });
}
}
} catch { } finally {
thread = null;
}
});
thread.Start ();
}
public static void UpdateStata (Common curtain)
{
Application.RunOnMainThread (() => {
UpdateBrighingCount ();
if (curView == null) {
return;
}
for (int i = 0; i < curView.equipmentListScrolView.ChildrenCount; i++) {
if (curView.equipmentListScrolView.GetChildren (i).GetType () == typeof (FrameLayout)) {
var curtainRow = (FrameLayout)curView.equipmentListScrolView.GetChildren (i);
var o = curtainRow.Tag;
if (o != null && o.ToString () == curtain.CommonLoopID.ToString ()) {
for (int j = 0; j < curtainRow.ChildrenCount; j++) {
if (curtainRow.GetChildren (j).GetType () == typeof (Button)) {
var btn = (Button)curtainRow.GetChildren (j);
btn.IsSelected = false;
if (btn.Tag != null) {
var btnTag = btn.Tag.ToString ();
if (curtain.obj5 == 1) {//curtain.obj5 == 0 ||
if (btnTag == "Open") {
btn.IsSelected = true;
}
} else if(curtain.obj5 == 2) {
if (btnTag == "Close") {
btn.IsSelected = true;
}
} else {
if (btnTag == "Stop") {
btn.IsSelected = true;
}
}
}
}
}
}
}
}
});
}
///
///构造函数
///
public UserDeviceToCurtains ()
{
BackgroundColor = SkinStyle.Current.MainColor;
}
///
/// 通过设备类型方式选择设备
///
public void showAllRoomCurtain ()
{
#region 标题
var topView = new FrameLayout () {
Y = Application.GetRealHeight (36),
Height = Application.GetRealHeight (90),
};
AddChidren (topView);
var title = new Button () {
TextAlignment = TextAlignment.Center,
Text = Language.StringByID (R.MyInternationalizationString.Curtains),
TextSize = 19,
TextColor = SkinStyle.Current.TextColor1
};
topView.AddChidren (title);
var logo = new Button () {
Width = Application.GetRealWidth (154),
Height = Application.GetRealHeight (90),
X = Application.GetRealWidth (486),
UnSelectedImagePath = MainPage.LogoString,
};
topView.AddChidren (logo);
var back = new Button () {
Height = Application.GetRealHeight (90),
Width = Application.GetRealWidth (85),
UnSelectedImagePath = "Item/Back.png",
SelectedImagePath = "Item/BackSelected.png",
};
topView.AddChidren (back);
back.MouseUpEventHandler += (sender, e) => {
(Parent as PageLayout).PageIndex -= 1;
curView = null;
};
#endregion
#region 全开-全关
var powerView = new FrameLayout () {
Height = Application.GetRealHeight (110),
BackgroundColor = SkinStyle.Current.TitileView,
Y = topView.Bottom
};
AddChidren (powerView);
var btnAllON = new Button () {
Width = Application.GetRealWidth (320),
TextSize = 16,
TextID = R.MyInternationalizationString.ALLON,
TextColor = SkinStyle.Current.TextColor1,
};
powerView.AddChidren (btnAllON);
var btnAllOff = new Button () {
Width = Application.GetRealWidth (320),
X = btnAllON.Right,
TextSize = 16,
TextID = R.MyInternationalizationString.ALLOFF,
TextColor = SkinStyle.Current.TextColor1
};
var btnLine = new Button () {
Width = 1,
BackgroundColor = SkinStyle.Current.White20Transparent,
X = btnAllON.Right,
};
powerView.AddChidren (btnLine);
btnAllON.MouseUpEventHandler += (sender, e) => {
btnAllON.TextColor = SkinStyle.Current.SelectedColor;
btnAllOff.TextColor = SkinStyle.Current.TextColor1;
Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip),
Language.StringByID (R.MyInternationalizationString.SureOpenAllCurtian),
Language.StringByID (R.MyInternationalizationString.Cancel),
Language.StringByID (R.MyInternationalizationString.Confrim));
alert.Show ();
alert.ResultEventHandler += (sender2, e2) => {
if (e2) {
controlAllCurtain (1);
}
};
};
powerView.AddChidren (btnAllOff);
btnAllOff.MouseUpEventHandler += (sender, e) => {
btnAllON.TextColor = SkinStyle.Current.TextColor1;
btnAllOff.TextColor = SkinStyle.Current.SelectedColor;
Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip),
Language.StringByID (R.MyInternationalizationString.SureCloseAllCurtian),
Language.StringByID (R.MyInternationalizationString.Cancel),
Language.StringByID (R.MyInternationalizationString.Confrim));
alert.Show ();
alert.ResultEventHandler += (sender2, e2) => {
if (e2) {
controlAllCurtain (2);
}
};
};
#endregion
equipmentListScrolView = new VerticalScrolViewLayout () {
Width = LayoutParams.MatchParent,
Height = Application.GetRealHeight (Application.DesignHeight - 126 - 110),
Y = powerView.Bottom,
BackgroundColor = SkinStyle.Current.ViewColor
};
AddChidren (equipmentListScrolView);
#region 显示全部的窗帘
//显示出所有的窗帘
foreach (var room in Room.Lists) {
if (string.IsNullOrEmpty(room.Name)) {
continue;
}
foreach (var common in room.DeviceList) {
if (common.Type == DeviceType.CurtainModel) {
var curtainmodel = common as CurtainModel;
EventHandler openCurtainControlPageEvent = (button, mouseEventArgs) => {
var userCurtainPageView = new UserCurtainPage (curtainmodel, room);
UserMiddle.DevicePageView.AddChidren (userCurtainPageView);
UserMiddle.DevicePageView.PageIndex = 2;
userCurtainPageView.showCurtainsRoom ();
};
var curtainView = new FrameLayout () {
Height = Application.GetRealHeight (130),
Tag = common.CommonLoopID.ToString()
};
equipmentListScrolView.AddChidren (curtainView);
curtainView.MouseUpEventHandler += openCurtainControlPageEvent;
Button btnCurtainViewBottomNull = new Button () {
Y = Application.GetRealHeight (127),
Height = Application.GetRealHeight (3),
SelectedBackgroundColor = SkinStyle.Current.MainColor,
BackgroundColor = SkinStyle.Current.MainColor,
};
curtainView.AddChidren (btnCurtainViewBottomNull);
//窗名
var tempDeviceName = new Button () {
X = Application.GetRealWidth (30),
Height = Application.GetRealHeight (60),
TextAlignment = TextAlignment.CenterLeft,
Text = room.Name + "-" + curtainmodel.Name,
TextColor = SkinStyle.Current.TextColor1,
};
curtainView.AddChidren (tempDeviceName);
tempDeviceName.MouseUpEventHandler += openCurtainControlPageEvent;
Button btnCurtain = new Button () {
X = Application.GetRealWidth (20),
Y = Application.GetRealHeight (40),
Width = Application.GetMinRealAverage (105),
Height = Application.GetMinRealAverage (105),
UnSelectedImagePath = "Curtain/curtain1.png",
//SelectedImagePath = "Item/RH_CurtainsSelected.png",
};
curtainView.AddChidren (btnCurtain);
btnCurtain.MouseUpEventHandler += openCurtainControlPageEvent;
var btnOpenCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (280),
Y = Application.GetRealHeight (35),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Curtain/CurtainOpen.png",
SelectedImagePath = "Curtain/CurtainOpenSelected.png",
Tag = "Open"
};
curtainView.AddChidren (btnOpenCurtain);
var btnStopCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (400),
Y = Application.GetRealHeight (35),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
SelectedImagePath = "Curtain/CurtainTimeOutSelected.png",
Tag = "Stop"
};
curtainView.AddChidren (btnStopCurtain);
var btnCloseCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (520),
Y = Application.GetRealHeight (35),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Curtain/CurtainClose.png",
SelectedImagePath = "Curtain/CurtainCloseSelected.png",
Tag = "Close"
};
curtainView.AddChidren (btnCloseCurtain);
if(curtainmodel.Status == CurtainStatus.Close) {
btnCloseCurtain.IsSelected = true;
} else if (curtainmodel.Status == CurtainStatus.Open) {
btnOpenCurtain.IsSelected = true;
}
btnCloseCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID, new byte [] { curtainmodel.LoopID, 2 });
(sender3 as Button).IsSelected = true;
btnOpenCurtain.IsSelected = false;
btnStopCurtain.IsSelected = false;
};
btnOpenCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID, new byte [] { curtainmodel.LoopID, 1 });
(sender3 as Button).IsSelected = true;
btnCloseCurtain.IsSelected = false;
btnStopCurtain.IsSelected = false;
};
btnStopCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID, new byte [] { curtainmodel.LoopID, 0 });
(sender3 as Button).IsSelected = true;
btnCloseCurtain.IsSelected = false;
btnOpenCurtain.IsSelected = false;
new System.Threading.Thread (() => {
System.Threading.Thread.Sleep (300);
Application.RunOnMainThread (() => {
(sender3 as Button).IsSelected = false;
btnOpenCurtain.IsSelected = true;
btnCloseCurtain.IsSelected = false;
});
}) { IsBackground = true }.Start ();
};
}
//foreach (var common in room.DeviceList) {
if (common.Type == DeviceType.CurtainRoller) {
var curtainroller = common as CurtainRoller;
EventHandler openCurtainControlPageEvent = (button, mouseEventArgs) => {
var userCurtainPageView = new UserCurtainPage (curtainroller, room);
UserMiddle.DevicePageView.AddChidren (userCurtainPageView);
UserMiddle.DevicePageView.PageIndex = 2;
userCurtainPageView.showCurtainsRoom ();
};
var curtainView = new FrameLayout () {
Height = Application.GetRealHeight (130),
Tag = common.CommonLoopID.ToString()
};
equipmentListScrolView.AddChidren (curtainView);
curtainView.MouseUpEventHandler += openCurtainControlPageEvent;
Button btnCurtainViewBottomNull = new Button () {
Y = Application.GetRealHeight (127),
Height = Application.GetRealHeight (3),
BackgroundColor = SkinStyle.Current.MainColor,
SelectedBackgroundColor = SkinStyle.Current.MainColor,
};
curtainView.AddChidren (btnCurtainViewBottomNull);
//窗名
var tempDeviceName = new Button () {
X = Application.GetRealWidth (30),
Height = Application.GetRealHeight (60),
TextAlignment = TextAlignment.CenterLeft,
Text = room.Name + "-" + curtainroller.Name,
TextColor = SkinStyle.Current.TextColor1,
};
curtainView.AddChidren (tempDeviceName);
tempDeviceName.MouseUpEventHandler += openCurtainControlPageEvent;
Button btnCurtain = new Button () {
X = Application.GetRealWidth (25),
Y = Application.GetRealHeight (40),
Width = Application.GetRealWidth (105),
Height = Application.GetRealHeight (105),
UnSelectedImagePath = "Curtain/rollerCurtain.png",
//SelectedImagePath = "Item/RH_CurtainsSelected.png",
};
curtainView.AddChidren (btnCurtain);
btnCurtain.MouseUpEventHandler += openCurtainControlPageEvent;
var btnOpenCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (280),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainRollerUp.png",
SelectedImagePath = "Curtain/CurtainRollerUpOn.png",
Tag = "Open"
};
curtainView.AddChidren (btnOpenCurtain);
var btnStopCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (400),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
SelectedImagePath = "Curtain/CurtainTimeOutSelected.png",
Tag = "Stop"
};
curtainView.AddChidren (btnStopCurtain);
var btnCloseCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (520),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainRollerDown.png",
SelectedImagePath = "Curtain/CurtainRollerDownOn.png",
Tag = "Close"
};
curtainView.AddChidren (btnCloseCurtain);
if (curtainroller.Status == CurtainStatus.Close) {
btnCloseCurtain.IsSelected = true;
} else {
btnOpenCurtain.IsSelected = true;
}
btnCloseCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 1, 2 });
(sender3 as Button).IsSelected = true;
btnOpenCurtain.IsSelected = false;
btnStopCurtain.IsSelected = false;
};
btnOpenCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 1, 1 });
(sender3 as Button).IsSelected = true;
btnStopCurtain.IsSelected = false;
btnCloseCurtain.IsSelected = false;
};
btnStopCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 1, 0 });
(sender3 as Button).IsSelected = true;
btnOpenCurtain.IsSelected = false;
btnCloseCurtain.IsSelected = false;
new System.Threading.Thread (() => {
System.Threading.Thread.Sleep (300);
Application.RunOnMainThread (() => {
(sender3 as Button).IsSelected = false;
btnOpenCurtain.IsSelected = true;
btnCloseCurtain.IsSelected = false;
});
}) { IsBackground = true }.Start ();
};
}
//foreach (var common in room.DeviceList) {
if (common.Type == DeviceType.CurtainTrietex) {
var curtaintrietex = common as CurtainTrietex;
EventHandler openCurtainControlPageEvent = (button, mouseEventArgs) => {
var userCurtainPageView = new UserCurtainPage (curtaintrietex, room);
UserMiddle.DevicePageView.AddChidren (userCurtainPageView);
UserMiddle.DevicePageView.PageIndex = 2;
userCurtainPageView.showCurtainsRoom ();
};
var curtainView = new FrameLayout () {
Height = Application.GetRealHeight (130),
Tag = common.CommonLoopID.ToString()
};
equipmentListScrolView.AddChidren (curtainView);
curtainView.MouseUpEventHandler += openCurtainControlPageEvent;
Button btnCurtainViewBottomNull = new Button () {
Y = Application.GetRealHeight (127),
Height = Application.GetRealHeight (3),
BackgroundColor = SkinStyle.Current.MainColor,
SelectedBackgroundColor = SkinStyle.Current.MainColor,
};
curtainView.AddChidren (btnCurtainViewBottomNull);
//窗名
var tempDeviceName = new Button () {
X = Application.GetRealWidth (30),
Height = Application.GetRealHeight (60),
TextAlignment = TextAlignment.CenterLeft,
Text = room.Name + "-" + curtaintrietex.Name,
TextColor = SkinStyle.Current.TextColor1,
};
curtainView.AddChidren (tempDeviceName);
Button btnCurtain = new Button () {
X = Application.GetRealWidth (22),
Y = Application.GetRealHeight (40),
Width = Application.GetRealWidth (105),
Height = Application.GetRealHeight (105),
UnSelectedImagePath = "Curtain/curtain1.png",
//SelectedImagePath = "Item/RH_CurtainsSelected.png",
};
curtainView.AddChidren (btnCurtain);
btnCurtain.MouseUpEventHandler += openCurtainControlPageEvent;
var btnOpenCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (280),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainOpen.png",
SelectedImagePath = "Curtain/CurtainOpenSelected.png",
Tag = "Open"
};
curtainView.AddChidren (btnOpenCurtain);
var btnStopCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (400),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainTimeOut.png",
SelectedImagePath = "Curtain/CurtainTimeOutSelected.png",
Tag = "Stop"
};
curtainView.AddChidren (btnStopCurtain);
var btnCloseCurtain = new Button () {
Width = Application.GetMinRealAverage (100),
Height = Application.GetMinRealAverage (100),
X = Application.GetRealWidth (520),
Y = Application.GetRealHeight (35),
UnSelectedImagePath = "Curtain/CurtainClose.png",
SelectedImagePath = "Curtain/CurtainCloseSelected.png",
Tag = "Close"
};
curtainView.AddChidren (btnCloseCurtain);
if (curtaintrietex.Status == CurtainStatus.Close) {
btnCloseCurtain.IsSelected = true;
} else {
btnOpenCurtain.IsSelected = true;
}
btnCloseCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtaintrietex.SubnetID, curtaintrietex.DeviceID, new byte [] { 1, 2 });
(sender3 as Button).IsSelected = true;
btnOpenCurtain.IsSelected = false;
btnStopCurtain.IsSelected = false;
};
btnOpenCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtaintrietex.SubnetID, curtaintrietex.DeviceID, new byte [] { 1, 1 });
(sender3 as Button).IsSelected = true;
btnStopCurtain.IsSelected = false;
btnCloseCurtain.IsSelected = false;
};
btnStopCurtain.MouseDownEventHandler += (sender3, e3) => {
Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtaintrietex.SubnetID, curtaintrietex.DeviceID, new byte [] { 1, 0 });
(sender3 as Button).IsSelected = true;
btnOpenCurtain.IsSelected = false;
btnCloseCurtain.IsSelected = false;
new System.Threading.Thread (() => {
System.Threading.Thread.Sleep (300);
Application.RunOnMainThread (() => {
(sender3 as Button).IsSelected = false;
btnOpenCurtain.IsSelected = true;
btnCloseCurtain.IsSelected = false;
});
}) { IsBackground = true }.Start ();
};
}
}
}
#endregion
curView = this;
}
///
/// 控制所有窗帘
///
/// 1:开,2:关.
void controlAllCurtain (byte status)
{
System.Threading.Tasks.Task.Run (() => {
foreach (var room in Room.Lists) {
if (room == null)
continue;
if (string.IsNullOrEmpty(room.Name)) {
continue;
}
foreach (var common in room.DeviceList) {
if (common.Type == DeviceType.CurtainModel) {
var curtainmodel = common as CurtainModel;
Control.ControlBytesSendHasReturn (Command.UpdataCurtainModelStutas, curtainmodel.SubnetID, curtainmodel.DeviceID, new byte [] { curtainmodel.LoopID, status });
} else if (common.Type == DeviceType.CurtainRoller) {
var curtainroller = common as CurtainRoller;
Control.ControlBytesSendHasReturn (Command.UpdataCurtainModelStutas, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { curtainroller.LoopID, status });
} else if (common.Type == DeviceType.CurtainTrietex) {
var curtaintrietex = common as CurtainTrietex;
Control.ControlBytesSendHasReturn (Command.UpdataCurtainModelStutas, curtaintrietex.SubnetID, curtaintrietex.DeviceID, new byte [] { curtaintrietex.LoopID, status });
}
}
}
});
}
///
/// 读取设备状态
///
static void readAllStatus ()
{
System.Threading.Tasks.Task.Run (() => {
System.Collections.Generic.List readList = new System.Collections.Generic.List ();
foreach (Room room in Room.Lists) {
var list = room.DeviceList.FindAll ((obj) => {
return obj.LastUpdateTime.AddMinutes (Common.Time) <= DateTime.Now && (obj.Type == DeviceType.CurtainModel || obj.Type == DeviceType.CurtainRoller || obj.Type == DeviceType.CurtainTrietex);
});
foreach (Common common in list) {
var s = common.Type + "_" + common.SubnetID + "_" + common.DeviceID + "_" + common.LoopID;
//已经读取过当前设备就不再读取
if (readList.Contains (s)) {
continue;
}
if (common.Type == DeviceType.CurtainModel) {
var curtainModel = common as CurtainModel;
readList.Add (s);
Control.ControlBytesSend (Command.ReadCurtainStatus, curtainModel.SubnetID, curtainModel.DeviceID, new byte [] { curtainModel.LoopID });
}
if (common.Type == DeviceType.CurtainRoller) {
var curtainroller = common as CurtainRoller;
readList.Add (s);
Control.ControlBytesSend (Command.ReadCurtainStatus, curtainroller.SubnetID, curtainroller.DeviceID, new byte [] { 17 });
}
if (common.Type == DeviceType.CurtainTrietex) {
var curtaintrietex = common as CurtainTrietex;
readList.Add (s);
Control.ControlBytesSend (Command.ReadCurtainStatus, curtaintrietex.SubnetID, curtaintrietex.DeviceID, new byte [] { 17 });
}
}
}
});
}
}
}